package cn.bs.busuo.front.content.dao.persist.repository;


import cn.bs.busuo.common.pojo.vo.PageData;
import cn.bs.busuo.front.content.pojo.entity.ContentHotelArticleDetail;
import cn.bs.busuo.front.content.pojo.entity.ContentSightArticle;
import cn.bs.busuo.front.content.pojo.entity.ContentSightArticleDetail;
import cn.bs.busuo.front.content.pojo.vo.ContentSightArticleByTitleVO;
import cn.bs.busuo.front.content.pojo.vo.ContentSightArticleDetailByIdVO;
import cn.bs.busuo.front.content.pojo.vo.UserContentSightArticleByIdVO;

import java.util.List;

/**
 * @author: Feng
 * @since: 2023/12/8
 */
public interface UserSightArticle {
    //判断标题是否唯一
    int contentSightArticleByTitle(String title);
    //添加到景点文章
    int addNewSightArticle(ContentSightArticle contentSightArticle);
    //根据标题查询景点文章Id
    Long selectSightArticleByTitle(String title);
    //添加景点文章到详情表
    int addNewSightArticleDetail(ContentSightArticleDetail contentSightArticleDetail);
    //根据文章Id查询景点文章是否存在
    ContentSightArticle selectSightArticleById(Long id);
    //用户根据文章Id删除景点文章(修改为不显示)
    int updateSightArticleById(Long id);
    //根据景点Id查询文章
    List<UserContentSightArticleByIdVO> selectSightArticleBySightId(Long id);
    //查看酒店文章详情
    ContentSightArticleDetailByIdVO selectSightArticleDetailById(Long id);
    //增加点击量
    void increaseClickCount(Long id);
    //增加好评
    int increaseUpCount(Long hotelArticleId);
    //增加差评
    int increaseDownCount(Long id);
    //增加景点文章评论数
    void increaseCommentCount(Long id);
    //查看自己的景点文章
    List<UserContentSightArticleByIdVO> selectUserListSightArticle(String authorName);
    //查看景点文章详情实体类
    ContentHotelArticleDetail selectSightArticleDetail(Long id);
    //修改景点文章
    int updateSightArticle(String title,String brief,String coverUrl,String keywords,Long id);
    //修改景点文章详情
    int updateHotelArticleDetail(String detail, Long id);

    //根据标题查询酒店文章
    ContentSightArticleByTitleVO selectSightArticleByTitleVO(String title);
}
